package com.ruoyi.system.service.impl;

import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.MerchantFeedbackMapper;
import com.ruoyi.system.domain.MerchantFeedback;
import com.ruoyi.system.service.IMerchantFeedbackService;
import com.ruoyi.common.support.Convert;
import com.ruoyi.common.utils.AliyunOssUtil;
import com.ruoyi.common.utils.StringUtils;

/**
 * 用户反馈 服务层实现
 * 
 * @author ruoyi
 * @date 2019-04-11
 */
@Service
public class MerchantFeedbackServiceImpl implements IMerchantFeedbackService 
{
	@Autowired
	private MerchantFeedbackMapper merchantFeedbackMapper;

	/**
     * 查询用户反馈信息
     * 
     * @param id 用户反馈ID
     * @return 用户反馈信息
     */
    @Override
	public MerchantFeedback selectMerchantFeedbackById(String id)
	{
	    return merchantFeedbackMapper.selectMerchantFeedbackById(id);
	}
	
	/**
     * 查询用户反馈列表
     * 
     * @param merchantFeedback 用户反馈信息
     * @return 用户反馈集合
     */
	@Override
	public List<MerchantFeedback> selectMerchantFeedbackList(MerchantFeedback merchantFeedback)
	{
	    return merchantFeedbackMapper.selectMerchantFeedbackList(merchantFeedback);
	}
	
    /**
     * 新增用户反馈
     * 
     * @param merchantFeedback 用户反馈信息
     * @return 结果
     */
	@Override
	public int insertMerchantFeedback(MerchantFeedback merchantFeedback)
	{
	    return merchantFeedbackMapper.insertMerchantFeedback(merchantFeedback);
	}
	
	/**
     * 修改用户反馈
     * 
     * @param merchantFeedback 用户反馈信息
     * @return 结果
     */
	@Override
	public int updateMerchantFeedback(MerchantFeedback merchantFeedback)
	{
	    return merchantFeedbackMapper.updateMerchantFeedback(merchantFeedback);
	}

	/**
     * 删除用户反馈对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteMerchantFeedbackByIds(String ids)
	{
		//删除阿里云上的图片 节省服务器资源 
		String[] strArray = Convert.toStrArray(ids);
		List<String> keys = new ArrayList<String>();
		for (String id : strArray) {
			MerchantFeedback merchantFeedback = selectMerchantFeedbackById(id);
			String imgUrl = merchantFeedback.getImgUrl();
			if(StringUtils.isNotEmpty(imgUrl)) {
				String[] split = imgUrl.split(";");
				for (String string : split) {
					String path;
					if (string.indexOf("?")!=-1) {
						 path = string.substring(string.indexOf("/",9)+1,string.indexOf("?"));
					}else {
						 path = string.substring(string.indexOf("/",9)+1);
					}
					keys.add(path);
				}
			}
		}
		if (StringUtils.isNotEmpty(keys)) {
			AliyunOssUtil.deleteFileBatch(keys);
		}
		return merchantFeedbackMapper.deleteMerchantFeedbackByIds(strArray);
	}
	
}
